Перейти к основному содержимому

О курсе «Проектирование веб-приложений»

Бакалавриат 2025/2026. Обязательный курс для направления «Информатика и вычислительная техника».


Основная информация

  • Название: Проектирование веб-приложений
  • Статус: обязательный курс
  • Направление: Информатика и вычислительная техника
  • Департамент: Департамент компьютерной инженерии
  • Кампус: Московский институт электроники и математики им. А.Н. Тихонова (МИЭМ)
  • Период: 4-й курс, 1–3 модуль (сентябрь — декабрь)
  • Язык: русский
  • Преподаватель: Пискунов Андрей Дмитриевич (adpiskunov@miem.hse.ru)

Цели курса

  1. Практические навыки и теоретические знания в области разработки веб-приложений: от анализа требований до внедрения и поддержки, ключевые концепции и технологии.

  2. Понимание архитектуры современных веб-приложений: клиент-серверная архитектура, межсерверное взаимодействие, эксплуатация приложений.

  3. Навыки командной работы: работа в коллективе, современные инструменты разработки, реализация проектов.


Результаты обучения

  • Владение клиент-серверной архитектурой, создание эффективных и безопасных веб-приложений.
  • Знание принципов системного анализа, формулирование требований, разработка ТЗ.
  • Основы работы с веб-фреймворками, базами данных, масштабируемыми приложениями.
  • Навыки командной работы и использования современных инструментов разработки.
  • Принципы эксплуатации веб-приложений: производительность, безопасность.

Содержание дисциплины

  1. Введение в веб-разработку — история и эволюция веб-технологий, современные подходы, архитектурные паттерны.
  2. Клиент-серверная архитектура — принципы построения, протоколы взаимодействия, безопасность и производительность.
  3. Веб-фреймворки и технологии — современные фреймворки, интеграция с БД, API и микросервисы.
  4. Системный анализ и проектирование — анализ требований, проектирование архитектуры, техническое задание.
  5. Командная разработка — инструменты разработки, системы контроля версий, CI/CD.
  6. Эксплуатация и поддержка — развёртывание, мониторинг, логирование, масштабирование.

Формат занятий и расписание

  • День недели: суббота
  • Лекция: 11:10–12:40 (одна пара)
  • Практические занятия: 4 пары подряд после лекции
  • Формат: офлайн
  • Аудитория: уточняется у администрации

Лекции: теория, примеры, опросы, студенческие доклады (темы выбираются из списка, доклад согласовывается с преподавателем).

Практика: выполнение заданий преподавателя или работа над проектом; за активность начисляются баллы.

Контроль: промежуточная защита проекта (8-я неделя), финальная защита (12-я неделя).


Правила курса

Посещаемость

Посещение лекций не является строго обязательным. Отсутствие влияет только на компонент «Лекции и активность» (20% итоговой оценки). Обязательны: промежуточная и финальная защиты проекта, консультации по проекту при необходимости. Студенты сами отвечают за освоение материала.

Домашние задания

  • Сдача: код — GitHub или GitLab; документация — Smart LMS.
  • Опоздание до 1 недели — коэффициент 0,6 (60% оценки); до 2 недель — 0,4 (40%); более 2 недель — работа не принимается.
  • Работы должны быть оригинальными, источники указывать обязательно.

Проектная работа

  • Команды 2–4 человека, формируются в начале курса.
  • Тема предлагается студентами и согласовывается с преподавателем.
  • Работа ведётся дома и на практиках; каждый этап защищается на занятиях, в конце — финальная презентация.

Код и документация

Следование принятым в индустрии стандартам кодирования, понятные комментарии, обязательная техническая документация, наличие тестов.

Академическая честность

Запрещены: плагиат (копирование чужого кода без указания источника), подделка результатов тестирования. Разрешены: использование библиотек с указанием источника, обсуждение подходов с одногруппниками, использование ИИ для обучения и отладки с указанием, разбор открытого кода с указанием источника.

Использование ИИ

Допускается для изучения концепций и отладки; использование нужно указывать в комментариях. Запрещена сдача сгенерированного кода без понимания; преподаватель может проверить понимание.


Важные даты и дедлайны

Ключевые события

ДатаСобытие
2 сентябряНачало курса, первая лекция
9 сентябряФормирование команд
23 сентябряВыбор темы проекта
27 сентябряПредставление проекта (загрузка до 11:00, защита с 13:00)
4 октябряПредставление проекта, пересдача (коэф. 0,6)
11 октябряПредставление проекта, пересдача (коэф. 0,4)
18 октябряProof of Concept (RAT-PoC): загрузка до 11:00, защита с 13:00
25 октябряProof of Concept, пересдача (коэф. 0,6)
1 ноябряProof of Concept, пересдача (коэф. 0,4)
28 октябряПрототип
11 ноябряMVP (Minimum Viable Product)
25 ноябряMUP (Maximum Usable Product), финальная защита

Дедлайны домашних заданий

Анализ приложения, CRUD API, тесты API, настройка проекта, SPA-приложение, Backend API, Backend с БД, пользовательские истории, архитектурная диаграмма, Docker-контейнер, развёртывание — сроки и вес в оценке уточняются в SMART LMS и на занятиях.


Программа по модулям

Модуль 1. Введение в веб-разработку: основы веб-технологий, клиент-серверная архитектура, HTTP/HTTPS, RESTful API, GraphQL, безопасность (OWASP Top 10, аутентификация, авторизация). Практика: анализ приложений, создание CRUD API.

Модуль 2. Frontend (JavaScript/TypeScript, React, Vue.js, Angular, state management) и Backend (Node.js, Python Django/Flask, Java Spring, БД, ORM/ODM, JWT, middleware). Практика: SPA, backend с API и БД.

Модуль 3. Системный анализ и проектирование (требования, пользовательские истории, ТЗ, архитектурные паттерны, UML). DevOps: Docker, Docker Compose, CI/CD, мониторинг, логирование. Инструменты: Git, GitHub/GitLab, code review. Итог: развёртывание приложения и финальная презентация.

Этапы проекта: формирование команд и выбор темы → представление проекта (концепция) → RAT-PoC → прототип → MVP → MUP и финальная защита.

Требования к проекту: команда 2–4 человека, полнофункциональное веб-приложение на современном стеке (например, React/Vue + Node.js/Python), ТЗ и документация API, развёрнутое приложение.


Система оценивания

Подробные критерии — в разделе Работа над проектом (описание этапов и критериев).

  • 1 модуль: 19/100 (представление проекта + RAT-PoC).
  • 2–3 модули: 81/100 (активность, опросы, этапы проекта).

Учитываются: посещаемость и активность, опросы, доклады, домашние задания, поэтапные и финальная защиты проекта (функциональность, качество кода и документации).


Литература и ресурсы

Основная: Чистый код (Роберт Мартин), Паттерны проектирования (Фримен Э.), Пользовательские истории (Паттон Дж.), Программист-фанатик (Фаулер Ч.).

Дополнительная: Docker на практике, Использование Docker, Осваиваем Kubernetes, Паттерны Kubernetes, предметно-ориентированное проектирование в Enterprise Java.

Электронные ресурсы: ЭБС «Лань», iBOOKS, материалы в LMS. Рекомендуемые онлайн-документации: MDN Web Docs, React Documentation, Node.js Documentation, Docker Documentation.


Контакты и поддержка

  • Преподаватель: Пискунов Андрей Дмитриевич — adpiskunov@miem.hse.ru
  • Консультации: на практических занятиях и в официальном чате курса (chat.miem.hse.ru)
  • Платформы: SMART LMS ВШЭ (материалы и задания), GitHub/GitLab (код и проекты)

Технические требования: ноутбук (рекомендуется) или компьютеры в инженерных классах; стабильный интернет; VS Code, Git, Docker. Для кода — GitHub или GitLab.

Адаптация: при особых потребностях возможны доступные форматы материалов, продление дедлайнов по согласованию, индивидуальные консультации.


Последнее обновление: февраль 2025
Источник: Официальная программа ВШЭ